Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


Hardware Enhancements

For a DSS system, there are several hardware enhancements that can improve performance. These hardware enhancements can be beneficial in the area of CPU, I/O, and network, as described in the following sections.

CPU Enhancements

Enhancing the CPUs on your SMP or MPP system can provide instantaneous performance improvements, assuming that you are not I/O bound. The speed of CPUs is constantly being improved as are new and better cache designs.

For SMP or MPP machines, the process of enhancing the CPU may be as simple as adding an additional CPU board. Before you purchase an additional processor of the same type and speed, however, consider upgrading to a faster processor. For example, upgrading from a 66 MHz processor to a 133 MHz processor may provide more benefit than purchasing an additional 66 MHz CPU—with the added benefit that you now have the option of adding more 133 MHz CPUs. This determination is usually made by budgetary constraints. Because the DSS can take advantage of the Parallel Query option, adding processors will help performance as will adding a faster CPU.

SMP and MPP computers provide scaleable CPU performance enhancements at a fraction of the cost of another computer. When upgrading your processors or adding additional processors, remember that your I/O and memory needs will probably increase along with the CPU performance. Be sure to budget for more memory and disk drives when you add processors.

I/O Enhancements

You can enhance I/O by adding disk drives or purchasing a hardware disk array. DSS systems can benefit from the disk striping available in both hardware and software disk arrays. Using Oracle data file striping can also help the performance of the DSS system.

If your system performs only one query at a time and you are not taking advantage of the Oracle Parallel Query option, you may not see a benefit from a hardware or software disk array. In this specific case, I do not recommend OS or hardware striping; you should use traditional Oracle striping. Because you are executing only one query at a time without using the Parallel Query option, the I/Os to the data files are purely sequential on the table scans. This scenario is somewhat rare; any variance from “pure table scans” results in degraded performance.

Hardware and software disk arrays have the added benefit of optional fault tolerance. As described in Chapter 15, “Disk Arrays,” each of the fault-tolerant RAID levels has its advantages and disadvantages. You should first choose the correct fault tolerance for your needs and then make sure that you have sufficient I/O capabilities to achieve the required performance level. If you use fault tolerance, you will most likely have to increase the number of disk drives in your system.


NOTE:  Because DSS systems primarily involve a majority of read operations and very few writes, you can take advantage of the fault tolerance and read performance of RAID-5. Make sure that write activity is small and remember that there may be significant write activity in the temporary tables.

Another benefit of hardware disk arrays is caching. Most disk arrays on the market today offer some type of write or read/write cache on the controller. The effect of this cache is to improve the speed of writing to the disk; the cache also masks the overhead associated with fault tolerance. If your queries often perform table scans, you may see improved performance with disk controllers that take advantage of read-ahead features.

Read-ahead occurs when the controller detects a sequential access and reads an entire track (or some other large amount of data) and caches the additional data in anticipation of a request from the OS. Unlike an OLTP system in which this is just wasted overhead, in the DSS system, it is likely that you will need that data soon; if you do, it will be available very quickly.


CAUTION:  It is important to make sure that any controller you use with a write cache is protected against a power failure. Some disk array controllers on the market today (such as the Compaq disk array controllers) offer a battery-backed, mirrored memory cache that protects your data. Remember: Once Oracle believes that data has been written to the drive, that data had better be there.

Enhancements to the I/O subsystem almost always help in a DSS environment because large amounts of data are read. Be sure that you have a sufficient number of disk drives, properly configured. An I/O bottleneck is usually difficult to work around. As with all types of systems, a well-tuned application is very important.

Network Enhancements

Networks are usually not a problem in a DSS system. However, because the data used in your DSS may be extracted from the OLTP systems in your company, you may have some network issues. By synchronizing the OLTP and DSS systems during off hours and using large block transfers, you may be able to avoid network traffic issues.

If necessary, you may want to install a private link between the DSS system and the OLTP systems that provide data. If you decide to do this, try to get the latest technology—such as 100 megabit Ethernet—to provide for future expansion.

Review of Enhancement Options

By taking advantage of some of the performance enhancement features available, you may see significant performance improvement. I have worked with the Oracle Parallel Query option and I am very impressed with the performance gains possible. DSS is particularly well suited for the parallelizing of queries.

Using the Parallel Query option in conjunction with a disk array can be beneficial to your system’s performance. By combining these enhancements with other tuning options (such as a large block size and multiblock reads) you are on your way to having a well-tuned DSS system.

Performance Verification

Once you design and build your system, you must have some way of verifying its performance. Verifying a DSS environment is much easier than verifying an OLTP system because you do not have to simulate large numbers of users.

The simplest method is to test the system using production queries on a test database. By saving the test database and using the same queries on the same data, you can make direct comparisons when you change tuning parameters or upgrade the system.

A good documented test plan allows you not only to verify system performance but to try new things, such as the Parallel Query option, direct-write sorts, or some other new feature you may want to implement in the future. The following sections look at what should be tested in the RDBMS and the operating system.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.